&soc {
	msm_bus: qcom,kgsl-busmon {
		label = "kgsl-busmon";
		compatible = "qcom,kgsl-busmon";
		operating-points-v2 = <&gpu_opp_table_v2>;
	};

	gpu_opp_table_v2: gpu-opp-table_v2 {
		compatible = "operating-points-v2";

		opp-670000000 {
			opp-hz = /bits/ 64 <670000000>;
			opp-microvolt = <RPMH_REGULATOR_LEVEL_NOM_L1>;
		};

		opp-587000000 {
			opp-hz = /bits/ 64 <587000000>;
			opp-microvolt = <RPMH_REGULATOR_LEVEL_NOM>;
		};

		opp-525000000 {
			opp-hz = /bits/ 64 <525000000>;
			opp-microvolt = <RPMH_REGULATOR_LEVEL_SVS_L2>;
		};

		opp-490000000 {
			opp-hz = /bits/ 64 <490000000>;
			opp-microvolt = <RPMH_REGULATOR_LEVEL_SVS_L1>;
		};

		opp-441600000 {
			opp-hz = /bits/ 64 <441600000>;
			opp-microvolt = <RPMH_REGULATOR_LEVEL_SVS_L0>;
		};

		opp-400000000 {
			opp-hz = /bits/ 64 <400000000>;
			opp-microvolt = <RPMH_REGULATOR_LEVEL_SVS>;
		};

		opp-305000000 {
			opp-hz = /bits/ 64 <305000000>;
			opp-microvolt = <RPMH_REGULATOR_LEVEL_LOW_SVS>;
		};
	};
};

&msm_gpu {
	qcom,chipid = <0x06050001>;

	/* GPU OPP data */
	operating-points-v2 = <&gpu_opp_table_v2>;

	/delete-property/qcom,initial-pwrlevel;
	/delete-node/qcom,gpu-pwrlevels;

	/* Power levels bins */
	qcom,gpu-pwrlevel-bins {
		compatible="qcom,gpu-pwrlevel-bins";
		#address-cells = <1>;
		#size-cells = <0>;

		qcom,gpu-pwrlevels-0 {
			#address-cells = <1>;
			#size-cells = <0>;
			qcom,speed-bin = <0>;
			qcom,initial-pwrlevel = <5>;
			qcom,throttle-pwrlevel = <0>;

			qcom,gpu-pwrlevel@0 {
				reg = <0>;
				qcom,gpu-freq = <587000000>;
				qcom,bus-freq-ddr7 = <11>;
				qcom,bus-min-ddr7 = <11>;
				qcom,bus-max-ddr7 = <11>;

				qcom,bus-freq-ddr8 = <11>;
				qcom,bus-min-ddr8 = <11>;
				qcom,bus-max-ddr8 = <11>;

				qcom,acd-level = <0x802b5ffd>;
			};

			qcom,gpu-pwrlevel@1 {
				reg = <1>;
				qcom,gpu-freq = <525000000>;
				qcom,bus-freq-ddr7 = <9>;
				qcom,bus-min-ddr7 = <9>;
				qcom,bus-max-ddr7 = <11>;

				qcom,bus-freq-ddr8 = <8>;
				qcom,bus-min-ddr8 = <8>;
				qcom,bus-max-ddr8 = <11>;

				qcom,acd-level = <0x802b5ffd>;
			};

			qcom,gpu-pwrlevel@2 {
				reg = <2>;
				qcom,gpu-freq = <490000000>;
				qcom,bus-freq-ddr7 = <9>;
				qcom,bus-min-ddr7 = <6>;
				qcom,bus-max-ddr7 = <9>;

				qcom,bus-freq-ddr8 = <8>;
				qcom,bus-min-ddr8 = <7>;
				qcom,bus-max-ddr8 = <9>;

				qcom,acd-level = <0xa02b5ffd>;
			};

			qcom,gpu-pwrlevel@3 {
				reg = <3>;
				qcom,gpu-freq = <441600000>;
				qcom,bus-freq-ddr7 = <9>;
				qcom,bus-min-ddr7 = <6>;
				qcom,bus-max-ddr7 = <9>;

				qcom,bus-freq-ddr8 = <8>;
				qcom,bus-min-ddr8 = <7>;
				qcom,bus-max-ddr8 = <9>;

				qcom,acd-level = <0xa02b5ffd>;
			};

			qcom,gpu-pwrlevel@4 {
				reg = <4>;
				qcom,gpu-freq = <400000000>;
				qcom,bus-freq-ddr7 = <7>;
				qcom,bus-min-ddr7 = <6>;
				qcom,bus-max-ddr7 = <9>;

				qcom,bus-freq-ddr8 = <8>;
				qcom,bus-min-ddr8 = <6>;
				qcom,bus-max-ddr8 = <9>;

				qcom,acd-level = <0xa02b5ffd>;
			};

			qcom,gpu-pwrlevel@5 {
				reg = <5>;
				qcom,gpu-freq = <305000000>;
				qcom,bus-freq-ddr7 = <3>;
				qcom,bus-min-ddr7 = <2>;
				qcom,bus-max-ddr7 = <9>;

				qcom,bus-freq-ddr8 = <3>;
				qcom,bus-min-ddr8 = <2>;
				qcom,bus-max-ddr8 = <9>;

				qcom,acd-level = <0xa02b5ffd>;
			};

			qcom,gpu-pwrlevel@6 {
				reg = <6>;
				qcom,gpu-freq = <0>;
				qcom,bus-freq = <0>;
				qcom,bus-min = <0>;
				qcom,bus-max = <0>;
			};
		};

		qcom,gpu-pwrlevels-1 {
			#address-cells = <1>;
			#size-cells = <0>;
			qcom,speed-bin = <1>;
			qcom,initial-pwrlevel = <6>;
			qcom,throttle-pwrlevel = <1>;

			qcom,gpu-pwrlevel@0 {
				reg = <0>;
				qcom,gpu-freq = <670000000>;
				qcom,bus-freq-ddr7 = <11>;
				qcom,bus-min-ddr7 = <11>;
				qcom,bus-max-ddr7 = <11>;

				qcom,bus-freq-ddr8 = <11>;
				qcom,bus-min-ddr8 = <11>;
				qcom,bus-max-ddr8 = <11>;

				qcom,acd-level = <0x802b5ffd>;
			};

			qcom,gpu-pwrlevel@1 {
				reg = <1>;
				qcom,gpu-freq = <587000000>;
				qcom,bus-freq-ddr7 = <11>;
				qcom,bus-min-ddr7 = <11>;
				qcom,bus-max-ddr7 = <11>;

				qcom,bus-freq-ddr8 = <11>;
				qcom,bus-min-ddr8 = <11>;
				qcom,bus-max-ddr8 = <11>;

				qcom,acd-level = <0x802b5ffd>;
			};

			qcom,gpu-pwrlevel@2 {
				reg = <2>;
				qcom,gpu-freq = <525000000>;
				qcom,bus-freq-ddr7 = <9>;
				qcom,bus-min-ddr7 = <9>;
				qcom,bus-max-ddr7 = <11>;

				qcom,bus-freq-ddr8 = <8>;
				qcom,bus-min-ddr8 = <8>;
				qcom,bus-max-ddr8 = <11>;

				qcom,acd-level = <0x802b5ffd>;
			};

			qcom,gpu-pwrlevel@3 {
				reg = <3>;
				qcom,gpu-freq = <490000000>;
				qcom,bus-freq-ddr7 = <9>;
				qcom,bus-min-ddr7 = <6>;
				qcom,bus-max-ddr7 = <9>;

				qcom,bus-freq-ddr8 = <8>;
				qcom,bus-min-ddr8 = <7>;
				qcom,bus-max-ddr8 = <9>;

				qcom,acd-level = <0xa02b5ffd>;
			};

			qcom,gpu-pwrlevel@4 {
				reg = <4>;
				qcom,gpu-freq = <441600000>;
				qcom,bus-freq-ddr7 = <9>;
				qcom,bus-min-ddr7 = <6>;
				qcom,bus-max-ddr7 = <9>;

				qcom,bus-freq-ddr8 = <8>;
				qcom,bus-min-ddr8 = <7>;
				qcom,bus-max-ddr8 = <9>;

				qcom,acd-level = <0xa02b5ffd>;
			};

			qcom,gpu-pwrlevel@5 {
				reg = <5>;
				qcom,gpu-freq = <400000000>;
				qcom,bus-freq-ddr7 = <7>;
				qcom,bus-min-ddr7 = <6>;
				qcom,bus-max-ddr7 = <9>;

				qcom,bus-freq-ddr8 = <8>;
				qcom,bus-min-ddr8 = <6>;
				qcom,bus-max-ddr8 = <9>;

				qcom,acd-level = <0xa02b5ffd>;
			};

			qcom,gpu-pwrlevel@6 {
				reg = <6>;
				qcom,gpu-freq = <305000000>;
				qcom,bus-freq-ddr7 = <3>;
				qcom,bus-min-ddr7 = <2>;
				qcom,bus-max-ddr7 = <9>;

				qcom,bus-freq-ddr8 = <3>;
				qcom,bus-min-ddr8 = <2>;
				qcom,bus-max-ddr8 = <9>;

				qcom,acd-level = <0xa02b5ffd>;
			};

			qcom,gpu-pwrlevel@7 {
				reg = <7>;
				qcom,gpu-freq = <0>;
				qcom,bus-freq = <0>;
				qcom,bus-min = <0>;
				qcom,bus-max = <0>;
			};
		};

		qcom,gpu-pwrlevels-2 {
			#address-cells = <1>;
			#size-cells = <0>;
			qcom,speed-bin = <3>;
			qcom,initial-pwrlevel = <4>;

			qcom,gpu-pwrlevel@0 {
				reg = <0>;
				qcom,gpu-freq = <525000000>;
				qcom,bus-freq-ddr7 = <11>;
				qcom,bus-min-ddr7 = <10>;
				qcom,bus-max-ddr7 = <11>;

				qcom,bus-freq-ddr8 = <11>;
				qcom,bus-min-ddr8 = <10>;
				qcom,bus-max-ddr8 = <11>;

				qcom,acd-level = <0x802b5ffd>;
			};

			qcom,gpu-pwrlevel@1 {
				reg = <1>;
				qcom,gpu-freq = <490000000>;
				qcom,bus-freq-ddr7 = <9>;
				qcom,bus-min-ddr7 = <6>;
				qcom,bus-max-ddr7 = <9>;

				qcom,bus-freq-ddr8 = <8>;
				qcom,bus-min-ddr8 = <7>;
				qcom,bus-max-ddr8 = <9>;

				qcom,acd-level = <0xa02b5ffd>;
			};

			qcom,gpu-pwrlevel@2 {
				reg = <2>;
				qcom,gpu-freq = <441600000>;
				qcom,bus-freq-ddr7 = <9>;
				qcom,bus-min-ddr7 = <6>;
				qcom,bus-max-ddr7 = <9>;

				qcom,bus-freq-ddr8 = <8>;
				qcom,bus-min-ddr8 = <7>;
				qcom,bus-max-ddr8 = <9>;

				qcom,acd-level = <0xa02b5ffd>;
			};

			qcom,gpu-pwrlevel@3 {
				reg = <3>;
				qcom,gpu-freq = <400000000>;
				qcom,bus-freq-ddr7 = <7>;
				qcom,bus-min-ddr7 = <6>;
				qcom,bus-max-ddr7 = <9>;

				qcom,bus-freq-ddr8 = <8>;
				qcom,bus-min-ddr8 = <6>;
				qcom,bus-max-ddr8 = <9>;

				qcom,acd-level = <0xa02b5ffd>;
			};

			qcom,gpu-pwrlevel@4 {
				reg = <4>;
				qcom,gpu-freq = <305000000>;
				qcom,bus-freq-ddr7 = <3>;
				qcom,bus-min-ddr7 = <2>;
				qcom,bus-max-ddr7 = <9>;

				qcom,bus-freq-ddr8 = <3>;
				qcom,bus-min-ddr8 = <2>;
				qcom,bus-max-ddr8 = <9>;

				qcom,acd-level = <0xa02b5ffd>;
			};

			qcom,gpu-pwrlevel@5 {
				reg = <5>;
				qcom,gpu-freq = <0>;
				qcom,bus-freq = <0>;
				qcom,bus-min = <0>;
				qcom,bus-max = <0>;
			};
		};

		qcom,gpu-pwrlevels-3 {
			#address-cells = <1>;
			#size-cells = <0>;
			qcom,speed-bin = <2>;
			qcom,initial-pwrlevel = <6>;
			qcom,throttle-pwrlevel = <1>;

			qcom,gpu-pwrlevel@0 {
				reg = <0>;
				qcom,gpu-freq = <670000000>;
				qcom,bus-freq-ddr7 = <11>;
				qcom,bus-min-ddr7 = <11>;
				qcom,bus-max-ddr7 = <11>;

				qcom,bus-freq-ddr8 = <11>;
				qcom,bus-min-ddr8 = <11>;
				qcom,bus-max-ddr8 = <11>;

				qcom,acd-level = <0x802b5ffd>;
			};

			qcom,gpu-pwrlevel@1 {
				reg = <1>;
				qcom,gpu-freq = <587000000>;
				qcom,bus-freq-ddr7 = <11>;
				qcom,bus-min-ddr7 = <11>;
				qcom,bus-max-ddr7 = <11>;

				qcom,bus-freq-ddr8 = <11>;
				qcom,bus-min-ddr8 = <11>;
				qcom,bus-max-ddr8 = <11>;

				qcom,acd-level = <0x802b5ffd>;
			};

			qcom,gpu-pwrlevel@2 {
				reg = <2>;
				qcom,gpu-freq = <525000000>;
				qcom,bus-freq-ddr7 = <9>;
				qcom,bus-min-ddr7 = <9>;
				qcom,bus-max-ddr7 = <11>;

				qcom,bus-freq-ddr8 = <8>;
				qcom,bus-min-ddr8 = <8>;
				qcom,bus-max-ddr8 = <11>;

				qcom,acd-level = <0x802b5ffd>;
			};

			qcom,gpu-pwrlevel@3 {
				reg = <3>;
				qcom,gpu-freq = <490000000>;
				qcom,bus-freq-ddr7 = <9>;
				qcom,bus-min-ddr7 = <6>;
				qcom,bus-max-ddr7 = <9>;

				qcom,bus-freq-ddr8 = <8>;
				qcom,bus-min-ddr8 = <7>;
				qcom,bus-max-ddr8 = <9>;

				qcom,acd-level = <0xa02b5ffd>;
				};

			qcom,gpu-pwrlevel@4 {
				reg = <4>;
				qcom,gpu-freq = <441600000>;
				qcom,bus-freq-ddr7 = <9>;
				qcom,bus-min-ddr7 = <6>;
				qcom,bus-max-ddr7 = <9>;

				qcom,bus-freq-ddr8 = <8>;
				qcom,bus-min-ddr8 = <7>;
				qcom,bus-max-ddr8 = <9>;

				qcom,acd-level = <0xa02b5ffd>;
			};

			qcom,gpu-pwrlevel@5 {
				reg = <5>;
				qcom,gpu-freq = <400000000>;
				qcom,bus-freq-ddr7 = <7>;
				qcom,bus-min-ddr7 = <6>;
				qcom,bus-max-ddr7 = <9>;

				qcom,bus-freq-ddr8 = <8>;
				qcom,bus-min-ddr8 = <6>;
				qcom,bus-max-ddr8 = <9>;

				qcom,acd-level = <0xa02b5ffd>;
			};

			qcom,gpu-pwrlevel@6 {
				reg = <6>;
				qcom,gpu-freq = <305000000>;
				qcom,bus-freq-ddr7 = <3>;
				qcom,bus-min-ddr7 = <2>;
				qcom,bus-max-ddr7 = <9>;

				qcom,bus-freq-ddr8 = <3>;
				qcom,bus-min-ddr8 = <2>;
				qcom,bus-max-ddr8 = <9>;

				qcom,acd-level = <0xa02b5ffd>;
			};

			qcom,gpu-pwrlevel@7 {
				reg = <7>;
				qcom,gpu-freq = <0>;
				qcom,bus-freq = <0>;
				qcom,bus-min = <0>;
				qcom,bus-max = <0>;
			};
		};
	};
};
